---
title: clsLegalData
summary: API reference for clsLegalData.
status: draft
owner: SAIF Claims BOF team
last_reviewed: 2026-08-21
library: SAIF.Application.Claim.Legal
reference_type: embedded
---

# clsLegalData

`clsLegalData` is a lightweight, read-oriented header object that carries the case number, assigned attorney, case status, and hearing date for a legal case. `LegalManagerBase.SetCurrentCase`/`CreateCase` load an instance of it alongside the full `clsLegalCase` business object whenever the current legal case context changes, giving every concrete manager cheap access to summary header fields without re-reading the full case graph. It inherits `clsBusinessBase` (`SAIF.Framework.Core`) directly, rather than through the `LegalManagerBase`/`ClaimAppManager` chain used by the manager classes.

## Purpose
- Provide a fast, header-only view of a legal case (case number, attorney, status, hearing date) sourced from a single stored-procedure round trip rather than the full `clsLegalCase` object graph.
- Back the case-context summary information that every concrete Legal AppManager exposes to the `Legal` web front end after a case switch.

## Context
- Namespace: `SAIF.Application.Claim.Legal`
- Assembly/package: `SAIF.Application.Claim.Legal.dll` (embedded library, loaded internally by `LegalManagerBase.SetCurrentCase`/`CreateCase`)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `New()` | `Public Sub New()`* | Default constructor used before the object is populated by `OnRetrieve`/the stored-procedure load. |
| `OnRetrieve()` | `Protected Overrides Sub OnRetrieve()`* | Executes `pk80001_legalNet.getHeader` via `SqlHelper.ResultSetQuery` and a cursor parameter, populating the header fields for the current case. |
| `CaseNumber` | `Public ReadOnly Property CaseNumber As Decimal`* | Identifies the legal case this header row describes. |
| `Attorney` | `Public ReadOnly Property Attorney As String`* | Name of the attorney currently assigned to the case, as returned by the header stored procedure. |
| `CaseStatus` | `Public ReadOnly Property CaseStatus As String`* | Current status code/description of the legal case, as returned by the header stored procedure. |
| `HearingDate` | `Public ReadOnly Property HearingDate As Date`* | Most recent or next hearing date for the case, as returned by the header stored procedure. |

## Inherited public members

Members in this section are inherited from `clsBusinessBase` in `SAIF.Framework.Core`. They are available on this type through inheritance.

| Member | Signature | Purpose | Origin |
| --- | --- | --- | --- |
| `Rules` | `ReadOnly Property Rules As clsRulesManager` | Exposes the rule-tracking engine used to register and evaluate broken-rule checks via `Rules.CheckRules("RuleName")`.† | `SAIF.Framework.Core` — `clsBusinessBase` |
| `BeginEdit()` | `Sub BeginEdit()` | Opens an in-memory edit session, snapshotting object state so `CancelEdit()` can roll back to it.† | `SAIF.Framework.Core` — `clsBusinessBase` |
| `CancelEdit()` | `Sub CancelEdit()` | Rolls back any pending changes made since `BeginEdit()` was called.† | `SAIF.Framework.Core` — `clsBusinessBase` |
| `ApplyEdit()` | `Sub ApplyEdit()` | Commits pending edits made since `BeginEdit()`, clearing the rollback snapshot.† | `SAIF.Framework.Core` — `clsBusinessBase` |
| `Save()` | `Public Function Save() As Boolean` | Validates the object against registered rules, then dispatches the corresponding insert/update/delete path based on object state; throws `ApplicationException` if the target is read-only, mid-edit-session, or invalid after rule evaluation.† | `SAIF.Framework.Core` — `clsBusinessBase` |
| `SetPreviousLink(item)` | `Sub SetPreviousLink(item As ILinkItem)` | Sets the predecessor pointer when this object participates in a linked business-object chain.† | `SAIF.Framework.Core` — `clsBusinessBase` |
| `SetNextLink(item)` | `Sub SetNextLink(item As ILinkItem)` | Sets the successor pointer when this object participates in a linked business-object chain.† | `SAIF.Framework.Core` — `clsBusinessBase` |
| `InsertLinkAfter(item)` | `Sub InsertLinkAfter(item As ILinkItem)` | Inserts an item immediately after this object in a linked business-object chain.† | `SAIF.Framework.Core` — `clsBusinessBase` |
| `InsertLinkBefore(item)` | `Sub InsertLinkBefore(item As ILinkItem)` | Inserts an item immediately before this object in a linked business-object chain.† | `SAIF.Framework.Core` — `clsBusinessBase` |
| `RemoveLinks()` | `Sub RemoveLinks()` | Detaches this object from its linked business-object chain.† | `SAIF.Framework.Core` — `clsBusinessBase` |
| `Error` | `ReadOnly Property Error As String` (via `IDataErrorInfo`) | Surfaces the aggregated broken-rule message for UI data-binding validation feedback.† | `SAIF.Framework.Core` — `clsBusinessBase` |
| `Item(columnName)` | `ReadOnly Property Item(columnName As String) As String` (via `IDataErrorInfo`) | Surfaces the broken-rule message scoped to a single bound field/column.† | `SAIF.Framework.Core` — `clsBusinessBase` |
| `DumpState()` | `Public Sub DumpState()` | Writes internal object state to a diagnostic/log sink for troubleshooting.† | `SAIF.Framework.Core` — `clsBusinessBase` |
| `AllowCache` | `Public Property AllowCache As Boolean` | Controls whether the data-portal layer may serve cached results for this object instead of re-querying.† | `SAIF.Framework.Core` — `clsBusinessBase` |

## Behavioral notes
- `clsLegalData` is loaded via a single stored-procedure call (`pk80001_legalNet.getHeader`) rather than through an `IBusinessCriteria` CRUD implementation, consistent with this library's pattern of bypassing the business layer for lightweight, read-only application-tier lookups.
- It is always loaded alongside the corresponding `clsLegalCase` business object during `LegalManagerBase.SetCurrentCase`/`CreateCase`, not used standalone*.

## Constraints and usage notes
- This is a read-oriented header object; write/save behavior beyond the inherited `clsBusinessBase.Save()` is not exercised by this library's callers**.

> **Note:** Statements marked with `†` are derived from dependency library
> documentation via the Legends CLI. Statements marked with `*` were inferred
> from code structure or contextual evidence. Statements marked with `**` could
> not be confirmed; treat as unknown until verified.

## Sources
- `SAIF.Application.Claim.Legal\clsLegalData.vb`
